package cn.lin.factory;

import java.math.BigDecimal;


/**
 * @author liufl E-mail:Huberier@allpyra.com
 * @version 创建时间：2017年8月16日 上午11:12:30
 * 折扣券
 */
public class OperatorFactoryRebateCounpon extends OperatorIFactory{

	//工厂
	@Override
	public OperatorVo getOperator() {
		return new OperatorVoRebateCounpon();
	}
	
	//策略
	@Override
	public BigDecimal getResult(OperatorVo vo) {
		BigDecimal totalPrice = vo.getPrice().multiply(new BigDecimal(vo.getSum()));
		int reduce = totalPrice.intValue()>200?20:totalPrice.intValue()>100?10:0;//满200减20，满100减10
		return totalPrice.subtract(new BigDecimal(reduce));
	}

	public static void main(String[] args) {
		System.out.println(new BigDecimal(200.4).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_UP));//无脑进1
		System.out.println(new BigDecimal(200.4).divide(new BigDecimal(100)).setScale(2,BigDecimal.ROUND_HALF_UP));//四舍五入
	}
}

